Skip to content

refactor(query): support do_exchange reconnection - #20223

Draft
dqhl76 wants to merge 2 commits into
databendlabs:mainfrom
dqhl76:do-exchange-reconnect
Draft

refactor(query): support do_exchange reconnection#20223
dqhl76 wants to merge 2 commits into
databendlabs:mainfrom
dqhl76:do-exchange-reconnect

Conversation

@dqhl76

@dqhl76 dqhl76 commented Jul 29, 2026

Copy link
Copy Markdown
Member

I hereby agree to the terms of the CLA available at: https://docs.databend.com/dev/policies/cla/

Summary

  • Retry retryable failures while establishing and using Flight do_exchange streams
  • Keep receiver session state across reconnects and use sequence acknowledgements to deduplicate replayed DATA frames
  • Add explicit FINISH/FINISH_ACK frames and distinguish receiver-driven completion, such as LIMIT, from network failures
  • Encapsulate the wire protocol in DoExchangeFrame; query nodes are expected to run the same version

Next PR: migrate do_get to do_exchange

Tests

  • Unit Test
  • Logic Test
  • Benchmark Test
  • No Test - Explain why

Type of change

  • Bug Fix (non-breaking change which fixes an issue)
  • New Feature (non-breaking change which adds functionality)
  • Breaking Change (fix or feature that could cause existing functionality not to work as expected)
  • Documentation Update
  • Refactoring
  • Performance Improvement
  • Other (please describe):

This change is Reviewable

@github-actions github-actions Bot added the pr-refactor this PR changes the code base without new features or bugfix label Jul 29, 2026
@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

🤖 CI Job Analysis

Workflow: 30447348436

📊 Summary

  • Total Jobs: 89
  • Failed Jobs: 3
  • Retryable: 0
  • Code Issues: 3

NO RETRY NEEDED

All failures appear to be code/test issues requiring manual fixes.

🔍 Job Details

  • linux / test_private_tasks: Not retryable (Code/Test)
  • linux / test_stateful_standalone: Not retryable (Code/Test)
  • linux / test_stateful_cluster: Not retryable (Code/Test)

🤖 About

Automated analysis using job annotations to distinguish infrastructure issues (auto-retried) from code/test issues (manual fixes needed).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-refactor this PR changes the code base without new features or bugfix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant